1. Cross References to Co-Pending Applications
This patent application is related to U.S. patent application Ser. No. 08/521,003, now U.S. Pat. No. 5,764,974 entitled, "A SYSTEM WITH USER SPECIFIED PATTERN DEFINITIONS FOR MATCHING INPUT MESSAGES AND ASSOCIATED DECISIONS FOR CONDITIONALLY RESPONDING TO THE INPUT MESSAGES," filed on Aug. 30, 1995, and U.S. patent application Ser. No. 08/521,203, now U.S. Pat. No. 5,754,239 entitled, "APPARATUS AND METHOD FOR MESSAGE MATCHING USING PATTERN DECISIONS IN A MESSAGE MATCHING AND AUTOMATIC RESPONSE SYSTEM," filed on Aug. 30, 1995, both of which are incorporated herein by reference.
2. Field of the Invention
This invention relates to sharing resources between computer systems, and more particularly to a method and apparatus for allocating peripheral devices between autonomous computer systems.
3. Description of the Prior Art
The prior art may be best understood by way of explanation of prior systems for automating the operation of data processing systems because that is the context in which the present invention is preferably utilized.
Data processing systems, such as the 2200 Series data processing systems from Unisys Corporation, have historically required human interaction for exerting control over the day-to-day operations of the system. Operator/system interfaces have included an operations console coupled to a system console port via a communications network interface. One such operations console is disclosed in U.S. Pat. No. 5,315,711 issued to Barone et al. In Barone et al., display manager software provides display services for the application programs running on the console. Tasks performed at the operations console include: system booting, system configuration, job scheduling, file management, and responding to exception conditions and alarms.
In many systems, a common form of interaction between the operator and the system is to have the control software of the data processing system (e.g., the operating system) transmit character-based informational messages to the operation console (e.g., a Video Display Terminal) for viewing by the operator. Based on the particular message displayed at the operation console, the operator may respond with an answer as input or initiate execution of a system command.
One drawback to the above form of operator/system interaction is that many of the system messages, as well as the format for the commands and responses, are cryptic. While a highly experienced operator might well know the appropriate steps to take (proper commands and or responses) in response to a given message or set of messages, an inexperienced operator may have to seek help or might mistakenly take inappropriate actions. An inappropriate response could lead to catastrophic consequences (e.g., system or subsystem shutdown).
Another disadvantage to the above form of operator/system interaction is the possibility of operator error. For example, a harried or distracted operator might miskey a response or system command. Once again the cost of the mistake might be exorbitant.
Therefore, it would be desirable to decrease operator interaction to reduce the cost of operating data processing system and to reduce the likelihood of costly errors. Various tools have been provided for automating data processing system operation. One such tool is the Smart Console software suite that operates in the operating environment of the 2200 Series systems.
Functionally, the purpose of Smart Console is to partially automate the operations of data processing systems. Software was constructed to execute on a micro-computer which was dedicated for use as an operation console. The console was programmed to receive messages from the system, search an operator defined database of pattern definitions for a pattern definition that matched the messages, and perform a user specified function which was associated with a matching pattern definition. Example functions that could be specified included operator commands, answers to questions presented in messages from the system to the operator, and directives to various alarm units. While not fully automating the operation of data processing systems, the Smart Console software provided some automation functions.
Many data processing environments, such as those discussed above, have shared device configurations, to reduce costs by sharing common equipment between multiple systems. As an example, instead of purchasing the maximum number of resources needed for all data processing systems within a data processing complex, a defined set of sharable resources (otherwise known as resource pools) can be shared among data processing systems within a data processing complex. This scheme of resource pooling allows peripheral devices such as tape drives to be allocated when they are needed, and where they are needed.
Shared device configurations for multiple autonomous data processing systems can be more complex when re-assigning a resource from one system to another, since a computer operator may be required to manually un-assign a resource on a first system, then re-assign the peripheral device on a second system. As described above, operator interaction on a complex task such as movement of resources such as peripheral devices between multiple autonomous data processing systems may increase the likelihood of costly errors.